package com.nowcoder.community.dao;

import com.nowcoder.community.entity.DiscussPost;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DiscussPostMapper {

    // orderMode 为1时表示按照热度来排序， 默认按照时间倒序排
    List<DiscussPost> selectDiscussPosts(int userId, int offset, int limit, int orderMode);

    // @Param用于给参数起别名
    // 如果只有一个参数，且在if里使用，则必须加别名
    // 根据id查询帖子数
    int selectDiscussPostRows(@Param("userId") int userId);

    // 增加帖子的方法
    int insertDiscussPost(DiscussPost discussPost);

    // 根据帖子id查询帖子详细信息
    DiscussPost selectDiscussPostById(int id);

    // 更新帖子数量
    int updateCommentCount(int id, int commentCount);

    // 加精 或 置顶
    int updateType(int id, int type);

    // 更改帖子状态 删除
    int updateStatus(int id, int status);

    // 更新帖子分数
    int updateScore(int id, double score);
}